package cn.ecnu.common.utils;

import com.huaban.analysis.jieba.JiebaSegmenter;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

//没用上
public class WordUtil {
//    public double sim(String sentence1,String sentence2){
//        JiebaSegmenter segmenter = new JiebaSegmenter();
//        List<String> strings1 = segmenter.sentenceProcess(sentence1);
//        List<String> strings2 = segmenter.sentenceProcess(sentence2);
//        HashMap<String, int[]> vectorMap = new HashMap<>();
//        for (String s : strings1) {
//            if (vectorMap.containsKey(s)){
//                vectorMap.get(s)[0]++;
//            }else{
//                int[] tempArray = new int[2];
//                tempArray[0]=1;
//                tempArray[1]=0;
//                vectorMap.put(s,tempArray);
//            }
//        }
//        for (String s : strings2) {
//            if (vectorMap.containsKey(s)) {
//                vectorMap.get(s)[1]++;
//            }else {
//                int[] tempArray = new int[2];
//                tempArray[0]=0;
//                tempArray[1]=1;
//                vectorMap.put(s,tempArray);
//            }
//        }
//        return pointMulti(vectorMap) / radicationMulti(vectorMap);
//    }
//
//    private double radicationMulti(Map<String, int[]> paramMap) {
//        return Math.sqrt(squaresSum(paramMap));
//    }
//
//    // 求平方和
//    private double squaresSum(Map<String, int[]> paramMap) {
//        double result1 = 0;
//        double result2 = 0;
//        Set<String> keySet = paramMap.keySet();
//        for (String s : keySet) {
//            int temp[] = paramMap.get(s);
//            result1 += (temp[0] * temp[0]);
//            result2 += (temp[1] * temp[1]);
//        }
//        return result1 * result2;
//    }
//
//    // 点乘法
//    private double pointMulti(Map<String, int[]> paramMap) {
//        double result = 0;
//        Set<String> keySet = paramMap.keySet();
//        for (String s : keySet) {
//            int temp[] = paramMap.get(s);
//            result += (temp[0] * temp[1]);
//        }
//        return result;
//    }

}
